package com.zeny.express.framework.webapp.context;

import com.zeny.express.framework.shared.domain.User;

/**
 * 用户信息上下文
 * 
 * @author zhuwei
 * @date 2013年11月4日 下午2:44:59
 */
public final class UserContext {

	private static final ThreadLocal<User> USER_STORE = new ThreadLocal<User>();

	private UserContext() {
		// do nothing
	}

	/**
	 * 获取当前会话的用户
	 * 
	 * @author zhuwei
	 * @date 2013年11月4日 下午2:40:36
	 * @return
	 */
	public static User getCurrentUser() {
		return USER_STORE.get();
	}

	/**
	 * 设置用户信息
	 * 
	 * @author zhuwei
	 * @date 2013年11月4日 下午2:40:31
	 * @param user
	 */
	public static void setCurrentUser(User user) {
		USER_STORE.set(user);
	}

	/**
	 * 清除ThreadLocal中的数据
	 * 
	 * @author zhuwei
	 * @date 2013年11月4日 下午2:40:21
	 */
	public static void clear() {
		USER_STORE.set(null);
	}
}
